﻿#根据用户输入1或2，使用不同的配置文件启动UG
##############################################################################################
# 定义目标路径和文件名
$targetPath = "D:\Program Files\Siemens\NX 10.0\UGII\menus"
# 要打开的程序/文件路径
$ugStartPath = "D:\OneDrive - lumao\0\电子书\机械设计大典.pdf"  
###########################################################################################

# 检查是否提供了参数
if ($args.Count -eq 0) {
    Write-Host "错误：请提供参数 1 或 2" -ForegroundColor Red
    Write-Host "使用方法：.\\scriptname.ps1 1 或 .\\scriptname.ps1 2" -ForegroundColor Yellow
    pause
    exit
}


# 获取参数值
$choice = $args[0]

# 验证参数是否有效
if ($choice -ne "1" -and $choice -ne "2") {
    Write-Host "错误：无效的参数 '$choice'，请使用 1 或 2" -ForegroundColor Red
    pause
    exit
}

# 获取当前脚本所在目录
$scriptDir = $PSScriptRoot
$targetFileName = "custom_dirs.dat"

# 检查目标路径是否存在
# 检查目标路径是否存在
if (-not (Test-Path -Path $targetPath -PathType Container)) {
    Write-Host "错误：目标路径不存在 - $targetPath" -ForegroundColor Red
    pause
    exit
}

# 定义标记文件路径（无后缀）
$marker1Path = Join-Path -Path $targetPath -ChildPath "配置1"
$marker2Path = Join-Path -Path $targetPath -ChildPath "配置2"

# 根据参数执行相应操作
switch ($choice) {
    "1" {
        # 配置1文件路径
        $sourceFile = Join-Path -Path $scriptDir -ChildPath "custom_dirs-1.dat"
        
        if (-not (Test-Path -Path $sourceFile -PathType Leaf)) {
            Write-Host "错误：配置1文件不存在 - $sourceFile" -ForegroundColor Red
            pause
            exit
        }
        
        try {
            # 清理旧标记
            if (Test-Path -Path $marker1Path) { Remove-Item -Path $marker1Path -Force }
            if (Test-Path -Path $marker2Path) { Remove-Item -Path $marker2Path -Force }
            
            # 复制配置文件
            Copy-Item -Path $sourceFile -Destination (Join-Path $targetPath $targetFileName) -Force
            
            # 创建新标记（无后缀）
            New-Item -Path $marker1Path -ItemType File -Force | Out-Null
            
            Write-Host "已成功切换到配置1" -ForegroundColor Green

            # 打开指定路径的程序/文件
            if (Test-Path -Path $ugStartPath) {
                Write-Host "正在打开程序：$ugStartPath" -ForegroundColor Cyan
                Start-Process -FilePath $ugStartPath
            }
            else {
                Write-Host "警告：指定的程序路径不存在 - $ugStartPath" -ForegroundColor Yellow
            }
        }
        catch {
            Write-Host "操作失败：$_" -ForegroundColor Red
        }
    }
    "2" {
        # 配置2文件路径
        $sourceFile = Join-Path -Path $scriptDir -ChildPath "custom_dirs-2.dat"
        
        if (-not (Test-Path -Path $sourceFile -PathType Leaf)) {
            Write-Host "错误：配置2文件不存在 - $sourceFile" -ForegroundColor Red
            pause
            exit
        }
        
        try {
            # 清理旧标记
            if (Test-Path -Path $marker1Path) { Remove-Item -Path $marker1Path -Force }
            if (Test-Path -Path $marker2Path) { Remove-Item -Path $marker2Path -Force }
            
            # 复制配置文件
            Copy-Item -Path $sourceFile -Destination (Join-Path $targetPath $targetFileName) -Force
            
            # 创建新标记（无后缀）
            New-Item -Path $marker2Path -ItemType File -Force | Out-Null
            
            Write-Host "已成功切换到配置2" -ForegroundColor Green

            # 打开指定路径的程序/文件
            if (Test-Path -Path $ugStartPath) {
                Write-Host "正在打开程序：$ugStartPath" -ForegroundColor Cyan
                Start-Process -FilePath $ugStartPath
            }
            else {
                Write-Host "警告：指定的程序路径不存在 - $ugStartPath" -ForegroundColor Yellow
            }
        }
        catch {
            Write-Host "操作失败：$_" -ForegroundColor Red
        }
    }
}

pause
    